一 vault 多 DG
一次用一套 digitalgarden plugin
- 給不同的 DG 取一個不同於
dg
的簡單縮寫代號,假設為xxx
(以 Imazingrace 為例,代號為ima
) - 複製(duplicate)既有的
.obsidian/plugins/digitalgarden
- 開啟 digitalgarden 複本裡的
main.js
,把:dg-publish
都改為xxx-publish
dg-home
有 2 處改為xxx-home
(有一個dg-home-link
的這個不要改,其他 2 處改掉就行了)
- 把既有的
.obsidian/plugins/digitalgarden
移到他處保管
(我是移到.obsidian/plugins/.digitalgardens
) - 重開 Obs
- 用 oleeskild/digitalgarden
Deploy
到新的 GitHub repo - 設定 Digital Garden plugin 用的新
repo
、Base URL
、siteName
、baseTheme
- 確定哪個 Obs 筆記頁面要當新的 DG 的首頁,設好
xxx-home
及xxx-publish
,然後即可 publish! - 【可選】可以做一個 xxx-favicon.svg 設為 favicon
- 一定要用 SVG!!!
- Free Favicon Maker — Create SVG & PNG favicon in seconds! #產生器 #資源
(好像還是要用 generator 做,格式才會對?或者也不一定?我本來放在.obsidian/plugins/digitalgarden
裡但抓不到,後來放 Obs 根目錄就抓得到了)
- Free Favicon Maker — Create SVG & PNG favicon in seconds! #產生器 #資源
- Favicon Generator for perfect icons on all browsers
- 一定要用 SVG!!!
多套 digitalgarden plugin 並存
?!
20230414 我剛才大著膽子,想到我若要製作 digitalgarden plugin 的複本,原本想說是不是要大改 main.js
,但剛福至心靈,想到把 manifest.json
裡的 id
改掉,這樣 Obs 可能就會識別為另一個 plugin 了?
於是就做了一個複本 plugin,資料夾名稱及 id
都用 digitalgarden-ima
,另外也給它取了不同的 name
以資識別,然後就重開了 Obs……第三方外掛程式裡就出現了不同名的另一個 digitalgarden plugin!
- → 啟用 → 設定選項就是另一套了!
- 左邊 ribbon 區也多了另一個按鈕,點開來,吃的也是另一組 front matter 所抓到的筆記!
- Command Palette 裡也有另一套指令!可以分別執行而不衝突!!!推送到不同的 DG 去了!!!♥
這樣的話,因為我自己有改過 main.js
,很有可能未來被官版更新蓋掉 ∴我可能需要把官版的 plugin 放回來,然後把官版 plugin fork 成我要改的內容,再裝進這個 vault 裡,這樣以後官版 plugin 更新之後,我可以把 upstream 的變更拉過來 merge!
- 更正:因為官版 plugin 專案是原始碼,不是編譯過的
main.js
,所以我把 Obs 裡的 plugin 資料夾自己弄到本機弄個 repo,再開不同的 branch 吧 - 【實做】
- 剛好官版有
2.43.1
,比我的2.41.1
新 → 嘗試更新到master
,然後 pull request 到ima
,手動解決一下 conflict 後產生一個中介 branch,再 merge 到ima
,剩下的 merge 幾乎都沒什麼問題 👍 這樣這個資料夾就可以複製回 Obs vault 使用了 - 記得,有更新 vault 裡的任何 digitalgarden plugin 的話,最好都要重新打開 Obs,以免因為 plugin 未更新而誤用錯誤的設定與 DG 互動,釀成悲劇
- 後來我又繼續修改
main.js
,增加了 3 處 IMA 的識別,才分得出不同的 Publication Center- 甚至,在識別的字串中,增加屬於 IMA 的 icon 💻
- 剛好官版有